// Bibliotecas
#include "ListaPedidosAtendidos.h"
#include "Mensagens.h"
#include "Library.h"
#include "VariaveisGlobais.h"
#include <iostream>
#include <iomanip>

// Pacotes utilizados
using namespace std;

// Nomes das colunas
const string coluna1 = "Pedido";
const string coluna2 = "Cliente";
const string coluna3 = "Cep";
const string coluna4 = "Produto";
const string coluna5 = "Qtd";

// Construtor
ListaPedidosAtendidos::ListaPedidosAtendidos(){}
	
// Destrutor
ListaPedidosAtendidos::~ListaPedidosAtendidos(){}
	
// Buscar lista de pedidos atendidos
list<PedidosAtendidos*> ListaPedidosAtendidos::getListaPedidosAtendidos()const{
	
	return this->listaPedidos;
	
}
	
// Insere um pedido na lista de pedidos atendidos
void ListaPedidosAtendidos::InserePedido(PedidosAtendidos* pedido){
	
	this->listaPedidos.push_back(pedido);
	
}
	
// Imprime a lista de pedidos
void ListaPedidosAtendidos::ImprimeListaPedido()const{
	
	PedidosAtendidos* pedidosAtendidos;
	list<PedidosAtendidos*> theList;
	list<PedidosAtendidos*>::iterator theIterator;
	
	theList = this->getListaPedidosAtendidos();
	
	if (theList.size() > 0){
		
		cout << MENU_2 << endl << endl;
		
		ImprimeLinha (78);
		
		cout << endl << BARRA << centralizaPalavra(coluna1, 12)
					 << BARRA << centralizaPalavra(coluna2, 18)
					 << BARRA << centralizaPalavra(coluna3, 14)
					 << BARRA << centralizaPalavra(coluna4, 20)
					 << BARRA << centralizaPalavra(coluna5, 8)
					 << BARRA <<endl;
		
		ImprimeLinha(78);
		
		
		for( theIterator = theList.begin(); theIterator != theList.end(); theIterator++ ) {
			pedidosAtendidos = (*theIterator);
			pedidosAtendidos->Imprime();
		} 		
		
		cout << endl;
		
		ImprimeLinha(78);
	
	}else{
		
		cout << endl << VEICULO_BUSCA_TODOS_VAZIA;
		
	}
	
}
